#include<iostream>
#include<string>
using namespace std;
string str;
int n;
bool check(int k) {
    for(char c='a'; c<='z'; c++) {
        bool flag = true;
        // 查找当前k所有可能的结果
        // 比如k传参为2
        // 那么遍历所有子串
        for(int i = 0; i < n-k+1; i++) {
            bool found = false;
            for(int j=i ; j<i+k ; j++) {
                if(str[j]==c) {
                    found = true;
                    // cout<<c<<endl;
                    break;  // 当前子串包含
                }
            }
            if(found == false) {
                flag = false;
                break;
            }
        }
        if(flag) {
            // 只要有一个字符满足及返回
            cout<<c<<endl;
            return true;
        }
    }
    return false;
}

int main() {

    // cin >> str;
    str="abccba";
    n = str.length();
    cout<<n<<endl;
    int left = 1, right = n;
    int res = n;
    while (left <= right) {
        int mid = (left+right) / 2;
        cout<<mid<<endl;
        if (check(mid)) {
            // 说明当前长度可以
            // 那不妨试试更小长度
            res = mid;
            right = mid - 1;
        } else {
            left = mid + 1;
        }
    }
    cout << res << endl;
    return 0;
}